#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <assert.h>
//int main()
//{
//	int a = 8;
//	int* b = &a;
//	b = NULL;
//	//assert(b != NULL);
//	printf("ahhahahahah\n");
//	return 0;
//}
//int main()
//{
//	/*int a = 8;
//	int* b = &a;
//	int * * c = &b;*/
//	int arr1[3] = { 1,2,3 };
//	int arr2[3] = { 1,5,3 };
//	int arr3[3] = { 1,7,8 };
//	int arr4[3] = { 9,2,3 };
//	int* arr[4] = { arr1,arr2,arr3,arr3 };
//	for (int i = 0; i < 4; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//
//
//	return 0;
//}


int test(int(*p)[5], int r, int c)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < r; i++)
	{
		for (j = 0; j < c; j++)
		{
			printf("%d ", *(*(p + i) + j));
		}
		printf("\n");
	}
	return 0;
}
int main()
{
	int arr[3][5] = { {1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7} };
	//test(arr, 3, 5);
	int (* p)(int(*)[5], int, int) = test;
	(*p)(arr, 3, 5);
	int (*arra[5])(int);
	return 0;
}